/**
 * Copyright (c), 上海沃恩信息科技有限公司.
 * All rights reserved.
 * Licensed under BSD (https://www.pittypat.work/bsd.html).
 */

package pittypat;

import java.util.List;
import java.util.UUID;

/**
 * 表示导航列表中的应用导航项目。
 */
public interface INavApp extends IComplex {
	/**
	 * 获取应用的 Id。
	 * 
	 * @return应用的 Id。
	 */
	UUID getId();

	/**
	 * 获取应用的名称。
	 * 
	 * @return应用的名称。
	 */
	String getName();

	/**
	 * 获取应用的版本号。
	 * 
	 * @return应用的版本号。
	 */
	String getVersion();

	/**
	 * 获取应用的描述信息，通常用于作为工具提示。
	 * 
	 * @return应用的描述信息，通常用于作为工具提示。
	 */
	String getDescription();

	/**
	 * 获取应用的图标文件的路径。
	 * 
	 * @return应用的图标文件的路径。
	 */
	String getIconUrl();

	/**
	 * 获取目标应用中包含的所有模块导航项目。
	 * 
	 * @return 目标应用中包含的所有模块导航项目。
	 */
	List<INavModule> getModules();
}
